package tests;
import java.io.File;

import org.testng.annotations.Test;

import autoitx4java.*;

import com.jacob.com.LibraryLoader;

/**
 * Простой пример работы со стандартным калькулятором с помощью Autoit
 */
public class CalculatorManager {

	private static final String CALC_WINDOW_TITLE = "Calculator";
	private static final String BUTT_TEXT = "5";
	private static final String BUTT_ID = "135";
	private static AutoItX autoit;

	/**
	* Main метод
	* @param args args
	*/
	public static void main(String[] args) {
		init();
		openCalc();
		pressButt();
	}

	/**
	* Инициализирует данные
	*/
	private static void init() {
		File file;
		if(System.getProperty("os.arch").contains("86")) {
			file = new File(System.getProperty("user.dir").replace("target", "")+"/lib", "jacob-1.17-M2-x86.dll"); //path to the jacob dll
		} else {
			file = new File(System.getProperty("user.dir").replace("target", "")+"/lib", "jacob-1.17-M2-x64.dll"); //path to the jacob dll
		}
		System.setProperty(LibraryLoader.JACOB_DLL_PATH, file.getAbsolutePath());
		LibraryLoader.loadJacobLibrary();
		autoit = new autoitx4java.AutoItX();
	}

	/**
	* Нажимает на кнопку
	*/
	private static void pressButt() {
		autoit.controlClick(CALC_WINDOW_TITLE, BUTT_TEXT, BUTT_ID);
	}

	/**
	* Открывает калькулятор
	*/
	private static void openCalc() {

		autoit.run("c:\\Windows\\System32\\calc.exe");
		try {
			Thread.sleep(1000);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		if (autoit.winExists("Calculator")){
			autoit.winActivate("Calculator");
		}
	}

}
